package com.xingda.packing.minitor.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xingda.packing.common.dto.PageDto;
import com.xingda.packing.minitor.dto.*;
import com.xingda.packing.minitor.entity.PkBom;
import com.xingda.packing.minitor.entity.PkTask;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author anxiaoning
 * @since 2021-07-03
 */
public interface IPkTaskService extends IService<PkTask> {

    Page<PkTaskDto> getPkTaskPage(PageDto dto);


    List<PkTask> getPkTaskList(Integer id);


    List<PkTask> getPkTaskListByLocationIds(List<Integer> licationIds);

    /**
     * 根据装箱位编号获得正在执行中的任务
     */
    PkTask getByBoxLocationNo(int boxLocationNo);

    /**
     * 查询中筒以及关联信息
     */
    PkBoxDetailInfoDto getScanCodeInfo(String code);

    boolean save(PkBoxInfoSetInput pkBoxInfoSetInput, PkTask pkTask, List<PkBom> pkBoms, JSONArray packinglists, Integer boxLocationId, int area);

    /**
     * 任务装箱详情
     *
     * @param taskId 任务ID
     */
    PkTaskDetailDto getPkTaskDetailById(int taskId);

    boolean removeWheel(RemoveInputDto removeInputDto);
}
